home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 5
/
Gekikoh Dennoh Club Vol. 5 (Japan).7z
/
Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin
/
games
/
kenka
/
kenka2s.lzh
/
vs_m.inc
< prev
Wrap
Text File
|
1998-09-07
|
7KB
|
359 lines
*---------------------------------------
*
* æ╬ÉφâüâCâô
*
* by Shiroh Nakaya
*
*---------------------------------------
vs_move:
lea.l P2_DATA(a5),a1
move.w C_NO(a1),d0
add.w d0,d0
add.w d0,d0
lea.l stage_tbl(pc),a0
move.l 0(a0,d0.w),d0
movea.l #GRAPH_SCROLL,a1 * âOâëâtâBâbâNò\ĪÉ▌ÆΦ
V_WAIT
move.l d0,(a1)+
move.l d0,(a1)+
move.l d0,(a1)+
move.l d0,(a1)
movea.l #SP_SCROLL,a6
movea.l a5,a1
move.w #$0100,d7
movea.l C_PCG_D(a1),a0
jsr (a0) * âXâvâëâCâgôoÿ^
lea.l P2_DATA(a5),a1
move.w #$0280,d7
movea.l C_PCG_D(a1),a0
jsr (a0) * âXâvâëâCâgôoÿ^
demo_process:
nop * âfâéé╠Ä₧é═bra demo_starté╠âRü[âh
nop * é╔Åæé½è╖éφéΘ
moveq.l #$23,d0
moveq.l #13,d1
moveq.l #8,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l go_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
moveq.l #60-1,d0
5:
V_WAIT
dbra d0,5b
moveq.l #$23,d0
moveq.l #13,d1
moveq.l #8,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
demo_start:
clr.l go_adpcm
move.w #3600,stage_score * âXâRâAÅëè·ë╗
* âXâRâAé═î╕ô_û@üiéPü^éUéOòbé╔éPô_é├é┬î╕éΘüj
main_loop:
btst #1,KEY_TBL.w * édérébâLü[é╔éµéΘâ|ü[âYÅêù¥
beq pause_exit * âfâéé╠Ä₧é═joy_chké╔ö≥é╘
moveq.l #$23,d0
moveq.l #10,d1
moveq.l #8,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l pause_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
5:
btst #1,KEY_TBL.w
bne 5b
5:
btst #1,KEY_TBL.w
beq 5b
5:
btst #1,KEY_TBL.w
bne 5b
moveq.l #$23,d0
moveq.l #10,d1
moveq.l #8,d2
trap #15 * IOCS _B_LOCATE
moveq.l #$21,d0
lea.l no_mess(pc),a1
trap #15 * IOCS _B_PRINT
moveq.l #$1f,d0
trap #15 * IOCS _B_CUROFF
pause_exit:
subq.w #1,stage_score * âXâRâAî╕ÄZ
bpl 5f * â}âCâiâXé╔é╚é┴é╜ÅΩìçé═éOé╔é╖éΘ
clr.w stage_score
5:
lea.l v_sp_reg,a6 * é`éUüüë╝æzâXâNâìü[âïâîâWâXâ^î╗ì▌Æl
lea.l P1_V_DATA(a5),a1 * é`éPüüæ╠ù═â}ü[âNâLâââëâfü[â^ɵô¬âAâhâîâX
movea.l a5,a2 * é`éQüüæ╬ë₧é╖éΘâLâââëâfü[â^ɵô¬âAâhâîâX
move.w #15,d1 * écéPüüò\Īéwì└òW
move.w #$017b,d7 * écéVüüéoébéfâfü[â^
VI_DISP * æ╠ù═ò\Ī
lea.l P2_V_DATA(a5),a1
lea.l P2_DATA(a5),a2
move.w #257,d1
move.w #$4280+$7b,d7
VI_DISP
lea.l P1_H_DATA(a5),a1 * é`éPüüâqâbâgâ}ü[âNâLâââëâfü[â^ɵô¬âAâhâîâX
tst.w C_M_F(a1) * âqâbâgâ}ü[âNé¬Åoî╗é╡é─éóé╚éóé╚éτ
beq 5f * Åêù¥é╡é╚éó
move.w #$017c,d7 * écéVüüéoébéfâZâOâüâôâgâfü[â^
H_DISP * âqâbâgâ}ü[âNò\Ī
5:
lea.l P2_H_DATA(a5),a1
tst.w C_M_F(a1)
beq 5f
move.w #$0280+$7c,d7
H_DISP
5:
movea.l a5,a1 * é`éPüüÄ⌐âLâââëâfü[â^ɵô¬âAâhâîâX
lea.l P2_DATA(a5),a2 * é`éQüüæèÄΦâLâââëâfü[â^ɵô¬âAâhâîâX
tst.w C_K(a2)
bpl p1_joy_chg
lea.l not_joy(pc),a3 * é`éRüüâXâeâBâbâNôⁿù═ö╗ÆΦâïü[â`âô
bra 6f
p1_joy_chg:
lea.l not_joy(pc),a3
6:
move.w #$0100,d7 * écéVüüéoébéfâZâOâüâôâgâfü[â^
H_CTRL * âLâââëâNâ^ê┌ô«
tst.w C_M_F(a5)
bne 5f
tst.w C_K(a5) * æ╠ù═é¬é╚é¡é╚é┴é╜éτéjénÅêù¥é╓
bmi ko_process
5:
lea.l P2_DATA(a5),a1
movea.l a5,a2
tst.w C_K(a2)
bpl p2_joy_chg
lea.l not_joy(pc),a3
bra 6f
p2_joy_chg:
lea.l not_joy(pc),a3
6:
move.w #$0280,d7
H_CTRL
lea.l P2_DATA(a5),a1
tst.w C_M_F(a1)
bne 5f
tst.w C_K(a1)
bmi ko_process
5:
move.l #v_sp_reg_end,d0
sub.l a6,d0 * ë╝æzâXâNâìü[âïâîâWâXâ^é¬æSé─ôoÿ^é│éΩé─éóé╜
beq clr_sp_reg * éτëµû╩èOæ╥ö≡Åêù¥é═ìséφé╚éó
lsr.l #1,d0
lea.l clr_sp_reg(pc),a1
suba.l d0,a1
jmp (a1) * òKÄEé╠âïü[âvôWèJ
.rept 70 * òsòKùvé╚âXâvâëâCâgé≡ëµû╩èOé╓
clr.l (a6)+
.endm
clr_sp_reg:
tst.l go_adpcm * é`écéoébélö¡ë╣Åêù¥
beq 6f
movea.l go_adpcm,a0
move.l (a0)+,d0 * âfü[â^âAâhâîâX
move.b (a0)+,clock_chg+1 * âNâìâbâNÉ╪éΦè╖éªâRü[âh
move.b (a0)+,d1 * âTâôâvâèâôâOâîü[âg
move.w (a0),d2 * ô]æùâoâCâgÉö
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
opm_read_loop:
tst.b OPM_DATA
bmi opm_read_loop
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
clock_chg:
bclr #7,OPM_DATA * É▌ÆΦâNâìâbâNé╔éµé┴é─âRü[âhé¬è╖éφéΘ
move.b d1,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l d0,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w d2,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
clr.l go_adpcm
6:
lea.l v_sp_reg,a1
movea.l #SP_SCROLL,a2
V_WAIT * ÉéÆ╝ïAÉⁿè·è╘é▄é┼æ╥é┬
move.w #$0000,BG_CTRL * âXâvâëâCâgò\Īénéeée
.rept 70 * Üjî─âïü[âvôWèJ
move.l (a1)+,(a2)+ * ë╝æzâXâNâìü[âïâîâWâXâ^é⌐éτû{ò¿é╠
.endm * âXâNâìü[âïâîâWâXâ^é╓
move.w #$0200,BG_CTRL * âXâvâëâCâgò\Īéném
bra main_loop
ko_process: * éjénÅêù¥
V_WAIT
movea.l #SP_SCROLL,a2
move.w #70-1,d0
5:
clr.l (a2)+
dbra d0,5b
st $00e840c0 * écélé`ébâtâëâOâNâèâA
demo_exit:
nop * âfâéé╠Ä₧é═rtsé╠âRü[âh
movea.l #SP_SCROLL,a6
movea.l a5,a1
tst.w C_K(a1)
bpl 5f
move.w #2,C_M_F(a1)
bra 6f
5:
move.w #3,C_M_F(a1) * Ńé┐â|ü[âY
6:
move.w #$0100,d7
movea.l C_PCG_D(a1),a0
jsr (a0) * âXâvâëâCâgôoÿ^
lea.l P2_DATA(a5),a1
tst.w C_K(a1)
bpl 5f
move.w #2,C_M_F(a1)
bra 6f
5:
move.w #3,C_M_F(a1)
6:
move.w #$0280,d7
movea.l C_PCG_D(a1),a0
jsr (a0) * âXâvâëâCâgôoÿ^
tst.w C_K(a5) * Ńé┐â[âèâtÅêù¥
bmi adpcm_p2
movea.l C_PCM_D(a5),a0
lea.l 160(a0),a0
bra 5f
adpcm_p2:
lea.l P2_DATA(a5),a1
tst.w C_K(a1)
bmi adpcm_skip
movea.l C_PCM_D(a1),a0
lea.l 160(a0),a0
5:
tst.l (a0)
beq adpcm_skip
move.l (a0)+,d0 * âfü[â^âAâhâîâX
move.w (a0),d1 * ô]æùâoâCâgÉö
move.b #1,$00e92001 * é`écéoébélÆΓÄ~
move.b #$20,$e840c7 * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
won_opm_read_loop:
tst.b OPM_DATA
bmi won_opm_read_loop
move.b #$1b,OPM_REG_NO * âNâìâbâNÉ▌ÆΦ
bset #7,OPM_DATA
move.b #$08,$00e9a005 * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
move.b #$80,$00e840c4 * écélé`ébÉ▌ÆΦ
move.b #$04,$00e840c6
move.b #$05,$00e840e9
move.b #$01,$00e840ed
move.b #$05,$00e840f1
move.b #$72,$00e840c5
st $00e840c0
move.l d0,$00e840cc * ô]æùî│âAâhâîâX
move.l #$00e92003,$00e840d4 * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
move.w d1,$00e840ca * ô]æùâTâCâY
move.b #$88,$00e840c7 * ô]æùèJÄn
move.b #2,$00e92001 * é`écéoébélö¡É║èJÄn
adpcm_skip:
move.w #60-1,d0
5:
V_WAIT
dbra d0,5b
movea.l #SP_SCROLL,a6
move.w #70-1,d0
5:
clr.l (a6)+
dbra d0,5b
rts
*---------------------------------------
joy_chk: * âfâéÆåé╠Åêù¥
cmpi.w #3000,stage_score
blt ko_process
bsr joy_0
btst #6,d0
bne joy_1_check
joy_0_loop:
bsr joy_0
btst #6,d0
beq joy_0_loop
bra ko_process
joy_1_check:
bsr joy_1
btst #6,d0
bne pause_exit
joy_1_loop:
bsr joy_1
btst #6,d0
beq joy_1_loop
bra ko_process
*---------------------------------------
.even
stage_tbl:
.dc.w 256,0
.dc.w 256,256
.dc.w 256,256
.dc.w 256,0
.dc.w 0,0
.dc.w 256,0
.dc.w 256,0
.dc.w 0,0
.dc.w 0,0
stage_score:
.dc.w 0
*---------------------------------------